草庐IT

javascript - 正则匹配表情

全部标签

Ruby 匹配第一次出现的字符串以进行 gsub 替换

我有一个字符串让我们说http://someUrul.com/someController/SOmeAction?SomeQS=http://someOtherUrl我想用https替换第一个http,但不是第二个,所以我最终得到https://someUrul.com/someController/SOmeAction?SomeQS=http://someOtherUrl如何使用简单的gsub完成此操作?以下内容替换了两者。request.url.gsub(/http:/,"https:") 最佳答案 使用sub,不是gsub.g

ruby - 从数组中删除匹配元素的第一个实例

假设我有数组[1,2,3,1,2,3]并且我想从给出[1,3,1,2,3]的数组。什么是最简单的方法? 最佳答案 li.delete_at(li.index(n)||li.length)li[li.length]超出范围,所以||li.length处理n不在列表中的情况。irb(main):001:0>li=[1,2,3,1,2,3]=>[1,2,3,1,2,3]irb(main):002:0>li.delete_at(li.index(2)||li.length)=>2irb(main):003:0>li.delete_at(li

ruby - 如何关闭 Rails 3.1 上的自动样式表/javascript 生成?

我有一个正在处理的Rails3.1项目,但我不希望controller_name.css.sass和controller_name.js.coffee每次运行railsgeneratecontrollercontroller_name时都会生成。我可以发誓我已经在互联网上的某个地方看到了设置,但我现在找不到它了。这是什么?请记住,我仍然想使用AssetPipeline和CoffeeScript/Sass集成,但我正在以我自己的方式组织这些文件。我很确定答案是命令行参数,但是使用生成器设置或隐藏文件或其他东西关闭它的奖励积分。编辑:我找到了它的命令行标志。railsgeneratecon

Ruby:通过正则表达式过滤数组?

这对我来说是一个常见的、重复的习惯用法:使用正则表达式过滤一个数组,并返回一个子数组。我的方法看起来不太像Ruby(我来自Java)。我最终得到了很多看起来很像这样的方法。改进此代码的惯用Ruby方法是什么?defget_all_gifs(items_)output=Array.newfilter=/\.jpg$/items_.eachdo|item|nextifitem=~filteroutput 最佳答案 如果你想找到所有的动图:defget_all_gifs(files)files.select{|i|i[/\.gif$/]}

ruby - 什么是匹配不在行尾的字符串的正则表达式?

正则表达式/abc$/将匹配出现在行尾的abc。我该怎么做?我想匹配不在行尾的abc。此外,我将使用正则表达式来替换字符串,所以我只想捕获abc,而不是字符串后面的任何内容,所以/abc.+$/不起作用,因为它不仅会替换abc,还会替换abc之后的所有内容。正确的正则表达式是什么? 最佳答案 /abc(?!$)/(?!$)是一个negativelookahead.它将查找abc的任何匹配项,但后面没有直接跟$(行尾)测试abcddee(匹配)dddeeeabc(不匹配)adfassdfabcs(匹配)fabcddee(匹配)将它应用

ruby - 如何获取字符串中所有出现的 Ruby 正则表达式的匹配数据?

对于字符串中正则表达式的每次出现,我都需要MatchData。这与MatchAllOccurrencesofaRegex中建议的扫描方法不同,因为这只会给我一个字符串数组(我需要完整的MatchData,以获取开始和结束信息等)。input="abc12def34ghijklmno567pqrs"numbers=/\d+/numbers.matchinput##(onlythefirstmatch)input.scannumbers#["12","34","567"](allmatches,butonlythestrings)我怀疑我忽略了某些方法。有什么建议吗?

ruby - 有效的电子邮件地址正则表达式?

这个问题在这里已经有了答案:HowcanIvalidateanemailaddressusingaregularexpression?(80个答案)关闭9年前。我已经做了一些测试,但我想问问是否有人发现这个用于电子邮件验证的ruby​​正则表达式有问题:/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i好看吗?

使用正则表达式的 Ruby 电子邮件验证

我有一大堆正在浏览的电子邮件。很多邮件都有拼写错误。我正在尝试构建一个字符串来检查有效的电子邮件。这就是我的正则表达式。defis_a_valid_email?(email)(email=~/^(([A-Za-z0-9]*\.+*_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\+)|([A-Za-z0-9]+\+))*[A-Z‌​a-z0-9]+@{1}((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,4}$/i)end如果电子邮件为下划线且只有一个句点,则通过。我有很多电子邮件的名称本身有不止一个句点。我如何在正则表达式中检查它。

ruby - 将一个字符串与多个模式匹配

如何使用ruby​​中的正则表达式将字符串与多个模式进行匹配。我正在尝试查看一个字符串是否包含在前缀数组中,这是行不通的,但我认为它至少证明了我正在尝试做的事情。#example:#prefixes.include?("Mrs.KirstenHess")prefixes.include?(name)#shouldreturntrue/falseprefixes=[/Ms\.?/i,/Miss/i,/Mrs\.?/i,/Mr\.?/i,/Master/i,/Rev\.?/i,/Reverend/i,/Fr\.?/i,/Father/i,/Dr\.?/i,/Doctor/i,/Atty\.

ruby - 从 Ruby 中的字符串创建不区分大小写的正则表达式

假设我有一个任意的字符串`Aman+aplan*acanal:Panama!`我想对大小写不同的字符串进行正则表达式搜索。也就是说,这个正则表达式应该匹配字符串`aman+APLAN*acanal:PaNaMa!`我认为最好的方法是在Ruby正则表达式中对每个具有特殊含义的字符进行反斜杠转义,然后使用该字符串执行Regexp.new和Regexp::IGNORECASE作为参数。是对的吗?是否存在用于将任意字符串转换为文字正则表达式的经过验证的正则表达式?顺便说一下,我最终想使用这个正则表达式来做一个任意的不区分大小写的MongoDB查询。因此,如果我有其他方法可以做到这一点,请告诉我